home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Medal Software 3
/
Gold Medal Software - Volume 3 (Gold Medal) (1994).iso
/
graphics
/
moray15.arj
/
MORAY.DOC
< prev
next >
Wrap
Text File
|
1994-02-15
|
151KB
|
3,498 lines
MORAY V1.5
Monty, the Modeller
An interactive scene designer
Copyright 1993-1994 SoftTronics, Lutz + Kretzschmar
All Rights Reserved.
Munich, Germany
CIS : [100023,2006]
February 1994
MORAY is a "shareware program" and is provided at no charge to the
user for evaluation. You are encouraged to pass a copy of MORAY
along to your friends and fellow raytracers for evaluation.
Please encourage them to register their copy if they find that
they can use it. Please do not give it away altered or as part of
another system.
All functions in this shareware version are enabled. This is so
that you can test all the functionality of the program. Since it
is a real-mode program, it will only be able to use conventional
memory for the objects. It will use EMS for storing some
information, but you will not be a able to design very large
scenes with it.
Please read Appendix D (page 67) for a definition of shareware.
You are expected to register this program if you continue to use
it after trying it out.
Registration benefits:
- you receive a protected mode version of MORAY, so that you can
use all the available memory of your machine.
- you get up-to-date information on the development of MORAY.
- you gain access to a conference on PCGnet where you can
download the latest alpha or beta versions long before they are
released to the public.
- your suggestions are given a higher priority, and you get to
see them earlier.
- you get special update/upgrade conditions.
User Manual Page 2 MORAY V1.5
--------------------------------------------------------------
DISCLAIMER - AGREEMENT
Users of MORAY must accept this disclaimer of warranty: "MORAY is
supplied as is. The author disclaims all warranties, expressed or
implied, including, without limitation, the warranties of
merchantability and of fitness for any purpose. The author assumes
no liability for damages, direct or consequential, which may
result from the use of MORAY."
The essence of "user-supported" software is to provide personal
computer users with quality software without high prices, and yet
to provide incentive for programmers to continue to develop new
products.
REGISTRATION
If you find this program useful and find that you are using MORAY
and continue to use MORAY after a reasonable trial period (30
days, for example), you must make a registration payment of US$59
to Lutz + Kretzschmar. The US$59 registration fee will license
one copy for use on any one computer at any one time. You must
treat this software just like a book. An example is that this
software may be used by any number of people and may be freely
moved from one computer location to another, so long as there is
no possibility of it being used at one location while it's being
used at another. Just as a book cannot be read by two different
persons at the same time.
Commercial users of MORAY must register and pay for their copies
of MORAY within 30 days of first use or their license is
withdrawn. Site-License arrangements may be made by contacting
Lutz + Kretzschmar.
To register please read the file REGISTER.INS for instructions.
Anyone distributing MORAY for any kind of remuneration must first
contact Lutz + Kretzschmar at the address below for authorization.
This authorization will be automatically granted to distributors
recognized by the ASP as adhering to its guidelines for shareware
distributors, and such distributors may begin offering MORAY
immediately (However Lutz + Kretzschmar would really appreciate
being advised so that the distributor can be kept up-to-date with
the latest version of MORAY.).
Contacting the authors:
Home of POV-Ray and MORAY is CompuServe in the GRAPHDEV area (GO
GRAPHDEV). This is the place to ask questions about POV-Ray and
MORAY, there are a lot of users of POV-Ray (and MORAY) there.
Please see the file SUPPORT.DOC that came with this package for
ways of reaching the authors.
User Manual Page 3 MORAY V1.5
--------------------------------------------------------------
T A B L E O F C O N T E N T S
-----------------------------------
1. What is MORAY? 7
2. MORAY Features 8
3. Requirements 9
3.1. Hardware 9
3.2. Software 9
4. Installation 10
5. Configuration 10
5.1. MemoryUse 10
5.2. ModelPath 10
5.3. LoopBatchFile 11
5.4. PrintPath20 11
5.5. IncludeFile20 11
5.6. TextureList 11
5.7. StartupScene 11
5.8. ColorDefinition 12
5.9. CheckTextures 12
5.10. WarnOnNoEMS 12
5.11. AlwaysMapEMS 12
5.12. AskOnExport 12
5.13. ViewLayout 13
5.14. GraphicsMode 13
5.15. SnapValues 13
5.16. WireFrameDivs 13
5.17. CamRedrawLimit 14
5.18. ObjRedrawLimit 14
5.19. KeyboardDelay 14
5.20. Setup for automatic rendering 14
6. Theory of operation 16
6.1. Object Attributes 16
6.1.1. Transforms 16
6.1.2. Bounding boxes 16
6.1.3. Texture 17
6.1.4. Visibility Level 17
6.1.5. Nested Attributes 17
6.2. Basic Interaction 18
6.3. The Primitives 18
6.3.1. Cube 18
6.3.2. Sphere 19
6.3.3. Cylinder 19
6.3.4. Cone 19
6.3.5. Torus 19
6.3.6. Disc 19
6.3.7. Plane 19
6.3.8. Rotational sweep 19
6.3.9. Translational sweep 19
6.3.10. Tapering sweep 20
User Manual Page 4 MORAY V1.5
--------------------------------------------------------------
6.3.11. Bezier Patches 20
6.3.12. Heightfields 21
6.3.13. Light sources 21
6.4. The Non-Primitives 21
6.4.1. CSG Objects 21
6.4.2. Group Objects 22
6.5. The Cameras 22
6.6. The Textures 22
7. Creating an Object 24
7.1. Primitives 24
7.2. Bezier patches 24
7.3. CSG and Group Objects 25
8. Creating a Texture 26
8.1. Predefined POV texture 26
8.2. Opaque texture 26
8.3. Checker texture 26
8.4. Imagemap texture 27
8.5. Wood texture 27
9. Selecting an Object 28
9.1. Graphically 28
9.2. Using the Object Browser 28
9.3. Selecting the Parent of an Object 29
9.4. Selecting the Texture of an Object 29
9.5. Selecting the Bounding Box of an Object 29
10. Editing an Object 30
10.1. The Object Edit Menu 30
10.1.1. Assigning a texture 30
10.1.2. Assigning a bounding box 30
10.1.3. Changing the visibility 31
10.1.4. Setting 'no_shadow' 31
10.1.5. Changing the name 32
10.1.6. Calling the extended editor 32
10.1.7. Leaving the Object edit menu 32
10.2. The Torus Edit menu 32
10.3. The Heightfield Edit menu 32
10.4. The Light Edit menu 32
10.5. The Spotlight Edit menu 33
10.6. The Arealight Edit menu 33
10.7. The Group Edit Menu 34
10.7.1. Adding a sub-object 34
10.7.2. Removing a sub-object 34
10.8. The CSG Edit Menu 34
10.8.1. Adding a sub-object 34
10.8.2. Removing a sub-object 35
10.8.3. Changing the CSG operation 35
10.8.4. Changing the sub-object order 35
11. Copying objects 36
11.1. Orbiting copies 37
12. Texture Editing 38
User Manual Page 5 MORAY V1.5
--------------------------------------------------------------
12.1. Texture Exporting 38
12.2. Creating a texture 39
12.2.1. Predefined textures 39
12.2.2. Opaque textures 39
12.2.3. Checker textures 39
12.2.4. Wood textures 40
12.2.5. ImageMap textures 40
12.3. Deleting a texture 41
12.4. Copying a texture 41
12.5. Replacing a texture 41
12.6. Texture display 42
13. The main screen 43
13.1. The three 2D Views 43
13.1.1. Disabling a view 43
13.1.2. Enabling a View 43
13.1.3. Enlarging a View 43
13.1.4. Toggling the Grid in a View 43
13.1.5. Panning a View 44
13.1.6. Zooming a View 44
13.2. The 3D View 44
13.2.1. The Rendering Window 44
13.3. Interacting with Objects 45
13.3.1. Setting the interaction mode 45
13.3.2. Using Scaling mode 45
13.3.3. Using Rotation mode 45
13.3.4. Using Translation mode 46
13.4. Limiting interaction dimensions 46
13.5. Interaction strangeness 46
13.6. The Main Menu 46
13.6.1. The Transformation blocks 47
13.6.2. The menu items 47
13.6.2.1. The CREATE button 47
13.6.2.2. The EDIT button 47
13.6.2.3. The COPY button 48
13.6.2.4. The CAMERAS button 48
13.6.2.5. The TEXTURES button 48
13.6.2.6. The FILES button 48
13.6.2.7. The OPTIONS button 48
13.6.2.8. The QUIT button 48
13.6.3. The information block 48
14. The FILES Menu 50
14.1. LOAD 50
14.2. MERGE 50
14.3. SAVE 51
14.4. SAVE SEL 51
14.5. OPTIONS 51
14.6. EXPORT 51
14.7. RENDER 52
14.8. NEW 52
15. Extended Editors 53
15.1. The Bezier Patch Editor 53
15.1.1. Mesh density 53
User Manual Page 6 MORAY V1.5
--------------------------------------------------------------
15.1.2. Redraw Rate 53
15.1.3. Selecting and deselecting control points 54
15.1.4. Changing the control point positions 55
15.1.4.1. Translate 55
15.1.4.2. Scale 55
15.1.4.3. Local Scale 55
15.1.4.4. Uniform 56
15.1.4.5. Rotate 56
15.1.4.6. Local Rotate 56
15.1.4.7. Mirroring the patch 56
15.1.4.8. Snapping Coordinates 56
15.2. The Sweep Editor 57
15.2.1. Curve divisions 57
15.2.2. Moving a knot 57
15.2.3. Smoothing a knot 58
15.2.4. Adding a knot 58
15.2.5. Deleting a knot 58
15.2.6. Entering values 58
15.2.7. Mirroring a sweep 58
15.2.8. Rotation divisions 58
15.2.9. Exporting to a RAW file 58
16. Appendix A: Hotkeys 60
16.1. Main menu 60
16.2. Object Browser 62
16.3. Bezier Editor 62
17. Appendix B: Tips 63
18. Appendix C: Frequently Asked Questions 65
19. Appendix D: Definition of Shareware 67
20. Appendix E: Index 68
User Manual Page 7 MORAY V1.5
--------------------------------------------------------------
1. What is MORAY?
MORAY is a program with which you can design scenes for the POV-
Ray raytracer to render. Contrary to normal scene design, with
MORAY you design the scenes graphically. Up to now it was pretty
difficult to imagine what the scene looked like, without laying it
out on graph paper, or doing many test renders. MORAY is like a
graph paper, it lets you place and change objects in wireframe
while you see them. MORAY then generates the text file that POV
needs to read.
MORAY can thus also be used as a rapid prototype tool, to place
objects quickly and write the scene file. You can then edit the
scene file to suit your needs, just like you have been doing up to
now.
MORAY stores and works with POV-Ray primitives, as opposed to
normal CAD systems, which mostly convert all objects to triangle
meshes or similar polygon based formats when outputting. This
ensures optimum performance and image quality from the raytracer.
If you're a POV enthusiast and have access to CompuServe you
should check out the GRAPHDEV forum for the latest news and tips
on using POV. The RayTracing conference on PCGnet also carries
lots of tips for POV.
If you want to obtain the latest version of POV-Ray you can
probably do so at the same source you obtained MORAY from.
User Manual Page 8 MORAY V1.5
--------------------------------------------------------------
2. MORAY Features
The emphasis in designing MORAY was to be able to work as
intuitively and as graphically as possible. Most of the work can
be done with the mouse.
Three 2D views and a 3D view of your scene are visible on screen.
You can perform all transformations of the objects in the 2D views
with the mouse. The 3D view shows what the current camera will
see, i.e. how POV will raytrace it.
MORAY allows you to,
- scale, rotate and translate an object interactively on the
screen.
- define cameras with which to view your scene, that will show
the scene in wire frame as POV-Ray will raytrace it.
- graphically place a bounding box around an object.
- automatically create bounding boxes of any objects, including
nested objects.
- make CSG or composite objects that can be nested arbitrarily
deep.
- assign textures from the TEXTURES.INC file to your objects.
- define a new texture from within MORAY. You can then hand-tune
this texture and MORAY won't interfere.
- place imagemaps graphically on objects, eliminating the
tedious trial and error approach.
- manipulate the control points of a bezier patch to create
shapes not easily created otherwise.
- create bezier patch meshes that consist of more than just one
bezier patch primitive.
- create rotational, translational and tapering sweeps that are
then output as smooth triangles.
- copy complex nested objects.
- create multiple copies of an object transforming each copy by
amounts you specify in one easy step.
- specify the complexity of on screen objects.
- specify a region of the 3D view to render.
- integrate POV-Ray with MORAY, so that you can seemingly call
POV-Ray from within MORAY.
User Manual Page 9 MORAY V1.5
--------------------------------------------------------------
3. Requirements
3.1. Hardware
MORAY requires at least a 386, a VGA card and a mouse, although I
cannot recommend this set-up. The minimum system, if you want to
do some larger scenes, would be a 486DX/25 and 4MB memory, the
shareware version needs 2MB EMS. EMS Memory is not required in the
registered version, since it is a protected mode version.
3.2. Software
No specific software is required. You need to have POV-Ray 2.0 to
raytrace the scene.
User Manual Page 10 MORAY V1.5
--------------------------------------------------------------
4. Installation
To install MORAY simply copy MRAY.ZIP to a sub-directory of your
hard drive (e.g. \MORAY) and unzip it with subdirectories (-d
option), using PKZIP V2.04g or later.
Please see the README file contained on the distribution disk for
a list of files in the ZIP.
5. Configuration
There are a number of things that need to be configured for MORAY
to work correctly. You need to specify where to write the POV
files, what file to include on exporting, what file to load as
default and various other settings.
The settings are found in the file MORAYPOV.CFG, in the [CONFIG]
section. This file can be edited with a text editor and changed
according to your set-up. The settings you can specify are
described in more detail below.
5.1. MemoryUse
The three numbers behind this variable specify the amount of
memory (in KB) that MORAY should use for its three main arrays. In
the shareware version this is EMS memory. In the registered
version this is the amount of XMS and will be taken away from the
memory you have available for objects. Generally the default
settings are more than enough. Only once the lists get full (watch
whether the lowest two buttons in the lower left corner of the
screen approach 100%), you may need to increase these numbers.
The three numbers should have a ratio of about 24:5:4.
5.2. ModelPath
The directory in which MORAY stores its native format (binary)
files. You can set this to the directory where your MDL files
should reside. When installing MORAY, the sub directory MDL is
automatically created and this is the default in this file, too.
If you want to store the files elsewhere, just change this
setting.
User Manual Page 11 MORAY V1.5
--------------------------------------------------------------
5.3. LoopBatchFile
This is the name of the batch file you may wish to use in order to
automate the edit/trace/edit cycle. You place the name of the
batch file here. The default is CALLMRAY.BAT, which is the
batchfile that comes with MORAY. You'll need to edit this batch
file, so that it can change to your POV directory and back to your
MORAY directory. The batch file is commented to help you get it
set up. There is a RENDER button in the FILES menu that will make
MORAY exit with a return value of 16, which this batch file will
test and start POV if needed.
5.4. PrintPath20
The directory to which MORAY will export the POV 2.0 file. If this
directory does not exist, MORAY will print a corresponding warning
on start-up and when you attempt to export. If you export, MORAY
will write the file to the current directory.
5.5. IncludeFile20
This specifies the file which all exported POV files will include.
The contents of this file are placed in exported files, before the
scene data. By default this file is MRYDEFLT.INC and contains
statements to include COLORS.INC, TEXTURES.INC and SHAPES.INC.
There is another additional INC file, called MRYDFLT2.INC, which
includes a green 'floor' plane and a sky sphere.
5.6. TextureList
This file contains the list of textures that you are offered to
choose from when creating pre-defined textures. It also contains
the colors you can choose from when setting the color of a
texture. As it comes with MORAY, it contains all the textures from
TEXTURES.INC and all the colors from COLORS.INC.
5.7. StartupScene
This setting specifies the MDL-file which MORAY loads on start-up,
if no file is specified on the command-line. You can use this to
load a file containing a camera, a light and a ground plane, for
example. The default file MDLSTART.MDL contains a camera and a
light source. You can load and edit this file according to your
wishes, then save it and it will consequently be loaded on start-
up.
User Manual Page 12 MORAY V1.5
--------------------------------------------------------------
5.8. ColorDefinition
MORAY allows you to change the colors of the interface. The
filename that comes behind this variable specifies which color
definition file to use. You can design your own color schemes, or
use the default one.
5.9. CheckTextures
This is a switch setting that can be turned on (YES) and off. When
on, it makes MORAY check the scene for objects that don't have
textures assigned to them, whenever you attempt to export a scene.
If MORAY finds an object that has no texture assigned to it, it
will highlight this object and give you the chance to assign a
texture to it.
5.10. WarnOnNoEMS
Since MORAY depends on the availability of EMS memory (in the
shareware version) to store the Vector and Edge List, the absence
of EMS will consume a lot of the memory available to MORAY. To
warn you of this, you can set this variable to YES. If you then
start MORAY with no EMS available, MORAY will print a warning and
ask you to verify that you wish to continue. MORAY will function
correctly until you run out of memory.
5.11. AlwaysMapEMS
This setting disables EMS page caching. Normally you would not set
this to NO. If you are experiencing problems in a multi-tasking
environment, such as Windows 3.1 or Desqview, you may want to set
this to YES. The setting will impact the performance of MORAY
slightly.
5.12. AskOnExport
This setting determines whether MORAY asks you for permission to
overwrite an existing *.POV file when you select EXPORT 2 POV.
This is to prevent you (and MORAY) from inadvertently erasing a
file that you may have edited since the last export. If you set
this setting to something else than YES, MORAY will not ask for
permission to overwrite the file and will simply export the scene.
This does not apply to the INC file that MORAY creates, only the
POV files.
User Manual Page 13 MORAY V1.5
--------------------------------------------------------------
5.13. ViewLayout
This setting can be used to change the arrangement of the four
views. The default setting is the way a technical drawing is made,
but you may prefer another setting. Following the keyword are four
words: FRONT, TOP, SIDE and 3D. The order these four words appear
determine the position of the views. The order is specified as the
top-left, then the top-right, the bottom-left and the bottom-right
view.
5.14. GraphicsMode
This setting can be used to set the default startup graphics
resolution. If you leave this unset MORAY will start in
640x480x16. Using the -G commandline parameter overrides this
setting.
Possible values for Corresponding values for x in
GraphicsMode commandline parameter -Gx
640x480x16 5
800x600x16 6
1024x768x16 7
640x480x256 2
800x600x256 3
1024x768x256 4
5.15. SnapValues
This determines the initial values of the grid snap (see page 51).
5.16. WireFrameDivs
This setting can be used to specify the subdivisions of the
wireframe representations of the objects you create. The six
numbers following this keyword specify the subdivisions for a
sphere, a cylinder, a cone, a torus, a spotlight, and for a disc,
respectively. These numbers should be even. If they are odd, they
are rounded upwards to the next even integer. They also have a
minimum value of 8.
User Manual Page 14 MORAY V1.5
--------------------------------------------------------------
5.17. CamRedrawLimit
The number following this keyword specified the number of ticks
(1/18s) that the redrawing of the 3D- (camera) window is allowed
to take. If the redraw takes longer, this window is not updated
while you move the camera, until you have finished placing the
camera (by releasing the mouse button). The 3D-View is then
redrawn.
5.18. ObjRedrawLimit
The number following this keyword specified the number of ticks
(1/18s) that the redrawing of the object you are transforming in
the 2D-windows is allowed to take. If the redraw takes longer,
MORAY will attempt to simplify the objects representation.
If the object has a bounding box attached to it, MORAY will use
this as the simpler representation.
If the object is a bezier patch, the subdivisions will be set to 2
while you move the object (if it doesn't have a bounding box).
5.19. KeyboardDelay
The number following this variable specifies the number of clock
ticks (1/18th sec) that can pass before MORAY thinks you're not
keeping a key depressed. This is useful if you use the keyboard to
move the cursor, since the cursor will accelerate if you keep your
finger down.
5.20. Setup for automatic rendering
MORAY supports integrating POV in the edit/trace/edit cycle with a
couple less keystrokes by automating some things.
This is how you would work: If you intend to work with a scene and
render it in between a couple of times (as one mostly does during
the design phase), you don't start MORAY directly, you call the
CALLMRAY batch file. This batchfile then starts MORAY. Here you
can edit and change the scene. When you're ready to render and
after you've set the rendering window in the 3D view, go to the
FILES menu and press the RENDER button. MORAY will save and export
your scene, and exit. The batchfile will then call POV to render
the scene. After it is done, the batch file will start MORAY and
the scene you're busy with will be loaded.
User Manual Page 15 MORAY V1.5
--------------------------------------------------------------
The batchfile CALLMRAY.BAT that came with the program can be used
as a basis for your batch file. There are a couple of things you
need to set up before you can use this batch file.
You need to edit the CALLMRAY.BAT file and add commands to change
to the correct directories for POV and for MORAY. It is commented
and this should be simple to do. You also need to have a correct
TRACE.BAT file in your POV scene directory or in your path. You
can edit the one that came with MORAY, or you can use your own.
This batch file is called by GO.BAT with the scene filename as the
first argument (without extension). If you've defined a render
window in MORAY, the next four arguments to TRACE.BAT will be the
correct starting and edning rows and columns specifying the
window.
User Manual Page 16 MORAY V1.5
--------------------------------------------------------------
6. Theory of operation
6.1. Object Attributes
Objects are what MORAY works with. An object has certain data
associated with it that you can change as you would in the text
file describing the scene for POV. The data includes positioning
information (scaling, rotation, translation), texture information
and bounding information. Some of these are optional. There are a
couple of other things associated with an object, but we'll come
to that later.
Each object has a name that needs to be unique in the whole scene.
MORAY assists you with ensuring this.
The objects you create are kept in a global object list. When you
create a complex object, such as a CSG or a Group object, the
objects that you assign to this complex object will be removed
from the global object list. Thus the global object list contains
all top-level objects, i.e. objects that have no parents.
6.1.1. Transforms
Each object has transformations associated with it. These
transformations are handled a bit differently from the way that
POV-Ray handles it. This difference is important to understand. In
POV-Ray you can scale, rotate and translate an object any number
of times and in any order to achieve a certain transformation.
This means that you could first translate an object and then
rotate it, which has the effect of moving an object in an orbit.
In MORAY the transformations that can be applied to an object are
first scaling, then rotation and then translation. You cannot have
another order and you cannot add more transformations. Although
this seems like a restriction at first, you will soon get over
this and it will seem very normal (there are also ways around
this).
6.1.2. Bounding boxes
An object can have a bounding box associated with it. This
bounding box is always defined in the objects local co-ordinates,
i.e. before the transformations are applied to it. This is handy,
since when you scale, rotate or move an object, its bounding box
will follow this movement automatically. It is also automatically
copied with an object.
User Manual Page 17 MORAY V1.5
--------------------------------------------------------------
6.1.3. Texture
An object can also has a texture associated with it. This texture
can be a predefined texture from TEXTURES.INC or a texture that is
defined in MORAY. The textures that you cannot define in MORAY are
ones with 3D textures, such as marble, bozo, etc. You can however
define an imagemap or a wood texture and assign it to an object.
The imagemap projections (or the wood) will then be shown on the
screen. You can select it and scale, rotate and translate it till
it is correctly placed.
6.1.4. Visibility Level
Objects in MORAY have a visibility level associated with them.
This level determines whether an object will be drawn or not (in
MORAY). There is a global visibility level that defines the
visibility to be shown. Objects that have a visibility level
higher than the global level will not be drawn. You can use this
to reduce the complexity drawn on screen and to thus increase the
refresh speed.
You don't always want to see all the details of a scene. For
example, if you are designing a house and want to add a garage,
you don't need to see the fixtures in the kitchen, or the knobs on
the cupboards or the furniture, you just need the basic shape of
the house. So you assign a high level to the furniture and stuff
and keep the walls of the house at a low level.
To assist you in easily changing the visibility of complex (deeply
nested) objects, you can assign relative visibility levels to
objects. This means that you can say that the knob of the cupboard
has one level of visibility more that the cupboard. Then if you
change the cupboards visibility, the knob will change with it,
whereas if you manually assign a visibility level of one more to
the knob, you will not change the level of the knob when you
change that of the cupboard.
6.1.5. Nested Attributes
There is something special about nested objects (CSG or Group
objects). MORAY allows textures and visibility levels of group-
objects to be inherited by lower level objects. This means that
you can assign a texture to a high-level object in the hierarchy
and objects below this hierarchy will automatically have this
texture assigned to them, unless they specifically use another
texture. So you don't need to assign a texture to every object you
create. If you create a CSG object that should be one colour, you
just assign this texture to the CSG and leave the textures of the
sub-objects undefined. They will then automatically inherit the
texture from the CSG object.
User Manual Page 18 MORAY V1.5
--------------------------------------------------------------
This is also true of the visibility level. If an object has 0 as
its level it will be assigned the level of its parent object. As
mentioned above you can also specify that an object has a
visibility level relative to its parent object.
6.2. Basic Interaction
When MORAY first starts up you will see the main screen with 3 2D-
views, a 3D-view and the main menu. Below the four views is space
for various sub-menus. You interact with the scene in the 3 views,
using the mouse. You can select and move objects in any of the
views. If you have placed a camera in the scene, your actions are
displayed in the 3D window from its viewpoint. This is also
exactly what POV will render.
The menu is operated like any other normal GUI menu, you click the
mouse button while the cursor is over the button you want to
choose, or press the key that corresponds to the underlined letter
on the button.
Interaction on the main screen is covered in more detail later
(see page 43)
6.3. The Primitives
The primitives that MORAY supports are (nearly) all finite
objects. They are: Cubes, Spheres, Cylinders, Cones, Discs, Tori,
and light sources. A plane object is also supported.
More primitives are rotational, translational and tapering sweeps,
bezier patches and heightfields.
Normally only cubes, cylinders, cones, tori, planes and point
light sources can be used in a CSG object. You can, however, add
the sweeps to a CSG. This may not work as expected!
Additionally, all other objects can be used in Group objects, i.e.
All objects can be used in Group objects.
6.3.1. Cube
The cube is your standard issue box that goes from
(-1,-1,-1) to (1,1,1), i.e. is centered around the origin and is 2
units wide in each direction.
User Manual Page 19 MORAY V1.5
--------------------------------------------------------------
6.3.2. Sphere
This is a normal run of the mill sphere, centered at the origin
with a radius of 1.0. You can unevenly scale this sphere, the
conversion to the correct primitive for POV-Ray is handled by
MORAY.
6.3.3. Cylinder
The cylinder is defined as an object with its base at Z=0,
extending to Z=1, centered on the X-Y plane, with a radius of 1.0.
6.3.4. Cone
The cone has its cap plane at Z=0, where the radius is 1.0 and
extends to Z=1 where it comes to a point.
6.3.5. Torus
The torus lies in the X-Y plane. The major and minor radius can be
entered from its editing menu (see page 32).
6.3.6. Disc
This is a disc that lies in the XY-plane and has an outer radius
of 1.0. The inner radius can be set from the objects editing menu.
6.3.7. Plane
This is an endless plane that lies in the XY-plane.
6.3.8. Rotational sweep
The rotational sweep is an object defined by taking a number of
curves (segments) and rotating them about the Z-axis.
When MORAY exports a rotational sweeps, it outputs a union of
smooth_triangles.
6.3.9. Translational sweep
The translational sweep is an object defined by extruding a number
of curves (segments) that make a closed outline, from Z=0 to Z=1.
This is output as a union of triangles and smooth_triangles. The
cap and base planes are created by splitting the polygon, obtained
by connecting all edge points together, into triangles.
User Manual Page 20 MORAY V1.5
--------------------------------------------------------------
6.3.10. Tapering sweep
This is a sweep that is defined by taking a number of curves
(segments) that make a closed outline and extruding them from Z=1
to Z=0, except that all points on the curves move towards and meet
at (0,0,0).
6.3.11. Bezier Patches
A single bezier patch (the POV-Ray primitive) is defined by
sixteen control points. This does not give you many possibilities
of deforming the surface. Basically you can make a 'hump' type
shape or a paper sheet like object. To make more complex bezier
patch shapes you need to have more control points, i.e. more
patches.
MORAY has the ability of handling connected bezier patches.
Getting two adjoining bezier patches to meet at a common edge is
relatively easy, all you need to do is to place the control points
that are along the shared edge at the same positions. But getting
the patches to make smooth transitions is difficult, because the
slope at these shared control points need to be the same in both
patches. This is very tedious to do by hand.
MORAY handles this for you, making sure that adjoining patches
will not only connect correctly, but will also exhibit 1st order
continuity, meaning that you won't see a crease or edge where the
patches join. This is done by not allowing the user to move the
shared control points directly. The shared control points are
calculated by MORAY according to how you move the surrounding
control points. This ensures that the slope at the control point
exhibits 1st order continuity.
You can create a sheet of patches. The patches are created so that
they share their common edges. You can create one that is 3 by 2
sheets, for example. This patch starts out flat.
You can also create a cylinder type structure. It starts out as a
cylinder and can be deformed to make a bulging pipe, for example.
Two bezier patches share the two opposite edges to make up one
cylinder segment. You can specify how many of these segments to
stack on top of each other.
You can also create another cylinder type-structure. It also start
out as a cylinder where not two, but four patches make up one
cylinder segment. This arrangement is used for the body and lid of
that classical graphic object, the Utah teapot. The spout and
handle are made of the 2 cylinder version, above.
The patches you create will remain one object, no matter how many
sub patches make up the object.
User Manual Page 21 MORAY V1.5
--------------------------------------------------------------
6.3.12. Heightfields
MORAY can handle heightfields, although they are shown as cubes,
i.e. the heightfield data is not read in from the file. This would
be too much data and consume a lot of memory and would bog down
redraws pretty heavily. It does have arrows on the axis at the
bottom of the height field, to help you with the orientation of
the height field. The arrow on the X-axis is closed, while the
arrow on the Y-axis is open. This represents the X- and Y-
dimensions of the image you are using as a heightfield.
Horizontal lines around the box show you the current waterlevel.
6.3.13. Light sources
Light sources (point lights, spotlights and arealights) are not
really primitive objects, since one can't see them, all they do is
let us see the rest. The point light source fits into the
primitive object category from the way that MORAY handles it and
what you can do with it.
While you can place point light sources in composites (group
objects), this is not possible with area- and spotlights. So if
you make a desk lamp, you can attach the light source to the globe
in the lamp. MORAY will calculate the correct position according
to the lamp transformations and export the lights in the correct
position to POV.
MORAY supports the point-light, the spot-light and the area-light
light source.
6.4. The Non-Primitives
These are CSG objects and Group objects.
6.4.1. CSG Objects
CSG objects are made up of one or more primitives or CSG objects
and can be a union, a difference or an intersection of these sub-
objects. They are not displayed as a CSG wireframe, though. All
subobjects are shown (depending on their visibility). Pointlights
are always 'unioned' to a CSG object, since it's not really useful
to take a difference with an infinitely small point.
User Manual Page 22 MORAY V1.5
--------------------------------------------------------------
6.4.2. Group Objects
Group objects are made up of one or more primitives, CSG- or Group
objects. They are similar to composites in POV-Ray except that you
can place all light sources in Groups. Please note that you should
not scale groups that have an area- or a spotlight in them, since
this will result in errors.
6.5. The Cameras
The cameras are special objects. You can define the position, the
lookat and the aperture of the camera. The position and the lookat
can be defined to be relative to another object. Thus you could
tell the camera to always look at a certain object. You can also
tell MORAY how large to display the camera in the wire frame
display. MORAY will create the correct definition for POV-Ray.
The scaling fields of the camera objects are used differently from
the way they work with normal objects. The X-scale specifies how
large to draw the viewing pyramid (which has nothing to do with
POV), the Z-scale specifies the aperture of the camera in degrees.
The rotation fields are not used in cameras.
The translation fields define the position of the camera or the
position of the lookat point. These can be switched for moving on
the screen. Thus there are effectively two sets of translation
parameters for cameras, one for the position and one for the
lookat.
6.6. The Textures
MORAY lets you create new textures or use the ones that come with
POV (listed in MRYTXTR.LST, to which you can add your own).
When exporting a new scene, MORAY creates a *.POV and an *.INC
file.
The INC file contains all the texture definitions of the scene
(except for predefined ones). You can then go into this INC file
and change the settings of the texture to suit your needs. When
you then export the same scene again, MORAY knows that you may
have changed the texture in the INC file and thus will not export
the texture again. New textures, however, will be exported.
The POV file contains the camera, object and light definitions and
includes the INC file.
User Manual Page 23 MORAY V1.5
--------------------------------------------------------------
When you create a new texture you can select a pre-defined texture
from a list defined in one of the support files (MRYTXTR.LST), or
you can create your own. If you create a pre-defined one you can
make changes to the parameters that are available in MORAY. MORAY
will then use the pre-defined setting, but will 'overwrite' the
settings that you changed. If you create your own you can change
the ambient, diffuse, specular, reflection and refraction
components as well as the colour.
User Manual Page 24 MORAY V1.5
--------------------------------------------------------------
7. Creating an Object
To create a new object, click on the CREATE button in the main
menu or press Alt-N (for New).
You will be presented with a list of possible objects you can
create.
Click on the object type of object you wish to create.
You will be asked for a name for the object. This must be a unique
name, i.e. no other object in the scene is allowed to have the
same name. If you enter a name that already exists, MORAY will not
create this object.
MORAY then creates the object and places it in the global object
list. If you are creating a bezier patch you will first be
presented with another menu. After this and for all other objects
you are then placed in the objects editing menu, where you can
specify further information about the object.
7.1. Primitives
All primitives require no more information and you are presented
with the objects editing menu (see page 30, Editing an Object).
7.2. Bezier patches
To create a bezier patch, you need to tell MORAY what type of
patch you would like.
If you want a sheet type patch, click on SHEET. Then select how
many basic patches (i.e. the POV-Ray primitive type patch) to
create. You need to specify how many in X and how many in Y should
be created. Then click on OK to create the patch.
If you want a cylinder-type patch, click on the 2-patch or 4-patch
cylinder button. Then specify how many cylinder parts should be
stacked on top of each other. Then press OK to create the patch.
After the patch has been created you will be placed in the object
editing menu (see page 53, Bezier Editor).
User Manual Page 25 MORAY V1.5
--------------------------------------------------------------
7.3. CSG and Group Objects
If you create a CSG or Group object you can specify which objects
to combine to a CSG or Group.
Before creating a CSG or Group object, you should (but don't have
to) create all the parts that make up the CSG or Group object and
then create a CSG or Group object.
After entering the name of the object, you will be presented with
the Object Browser. This is to let you add all the objects that
make up the CSG or Group to it.
When creating a CSG, you should first click on the base object.
When making a difference, for example, this would be the object
*from* which to subtract.
When creating a group click on any one of the objects that belong
to the group.
Then click the right mouse button. This object will be added to
the CSG definition and will disappear from the object browser (for
the moment).
Proceed in this manner with all subobjects until you have added
them all. Now click on the right mouse button without having an
object selected. This terminates the addition of subobjects to the
CSG or Group object.
User Manual Page 26 MORAY V1.5
--------------------------------------------------------------
8. Creating a Texture
To create a texture select TEXTURE from the CREATE menu or CREATE
from the TEXTURE menu.
You will be shown a list of pre-defined textures available and
various other types.
Please refer to page 38 for detailed instruction on textures.
8.1. Predefined POV texture
MORAY knows about all textures you put in the TextureList (see
page 11). The sorted list of these textures is shown in the list
box. You can choose one and it will be created for you. If you
wish to create another one, simply click on it, otherwise press
cancel or click on DONE.
When exporting your scene, MORAY will not create the definition of
this texture, it's up to you to include the correct file
containing the texture declaration. If you want to use one of
these basic textures and just change a poarameter or two, you can
do so from the Texture Editing menu. All buttons are set to
'NO CHNG' and setting one of the parameters will make MORAY
enhance this texture in the POV file.
8.2. Opaque texture
This allows you to create the texture from within MORAY. You can
change the ambient, diffuse, specular and various other
components.
When exporting you scene, MORAY will create a texture definition
according to your settings.
8.3. Checker texture
This texture allows you to create a checker texture, that you can
graphically place on an object. Once you have assigned a texture
of this type to an object, it will be displayed on the wire frame
display. It is a grid of three vertical and three horizontal lines
that form the checkers.
You can select this texture graphically and scale, rotate and move
it about just like any other object.
User Manual Page 27 MORAY V1.5
--------------------------------------------------------------
8.4. Imagemap texture
This texture allows you to create an imagemap texture, that you
can graphically place on an object. Once you have assigned a
texture of this type to an object, it will be displayed on the
wire frame display.
The wireframe display of the imagemap texture consists of two
lines, one represents the X-axis of the image and has a closed
arrow on the end, while the other line represents the Y-axis of
the image and has an open arrow on it.
MORAY supports three projection types:
- Planar : This is like a slide projector. The wireframe is a
flat rectangle.
- Spherical : This wraps an image around an imaginary sphere. The
X-axis is represented by a line going around the equator of
this sphere. The Y-axis is represented by a line going from the
south to the north pole, with an open arrow at the north pole
and placed at the seam where the left and right edges of the
image meet.
- Cylindrical : This wraps an image around an imaginary cylinder.
The X-axis is represented by a line going around the bottom of
this cylinder. The Y-axis is represented by a line going from
the top edge of the cylinder to the bottom edge, with an open
arrow at the top edge and placed at the seam where the left and
right edges of the image meet.
You can select this texture graphically and scale, rotate and move
it about just like any other object.
8.5. Wood texture
This texture is meant for making it easier to place wood on an
object. It also has a graphical display, like the imagemap. The
display looks like a cylinder. The wood will have one ring
(roughly) in this circle. You can now select the wood and scale
and rotate it to make the object look like it was cut out of the
wood at a certain angle or position.
User Manual Page 28 MORAY V1.5
--------------------------------------------------------------
9. Selecting an Object
Before you can edit or change an object, you need to select it.
Only one object can be selected at any one time. It is displayed
in yellow on the screen, whereas all the other objects are gray.
9.1. Graphically
This is the easiest and most straightforward way to select an
object or a camera, or a texture, or a bounding box. Move the
cursor over a line that belongs to the object you want to select.
Then press and hold the Shift-Key and then the left mouse button.
Then drag the mouse to open a rectangle that covers the line, i.e.
the line should run through the rectangle you make.
The first object MORAY finds that has a line running through this
rectangle will be the object that is selected.
Since cameras are always the first in the list to be checked, it
is quite simple to select one since you don't have to worry about
enclosing other objects in the rectangle.
9.2. Using the Object Browser
If you click on the SELECT button or press Alt-S in the main menu
a window with a tree-like display of the names of all objects will
be displayed. The names are displayed in buttons. Top-level
objects are displayed at the left edge of the window. Sub-objects
are displayed to the right of their parents, connected to them by
lines. Bounding boxes are displayed in red above the objects they
bound.
To select an object simply click on the button with the name of
the object you want to select, on it. The selected object is
displayed on a yellow button. All the sub-objects belonging to the
selected object are displayed in a slightly lighter colour. This
may differ if you are using the 16-color mode.
There are a number of hotkeys available from the Object Browser.
For a complete list of hotkeys, see Appendix A: Hotkeys starting
on page 60.
If you want to edit the object, you can immediately press Alt-E
from the browser. The window will then disappear and the normal
object editing menu appears. After you have finished editing the
object you will be returned to the browser.
If you just want to change the objects name there is a shortcut.
Pressing Alt-N will let you do this.
User Manual Page 29 MORAY V1.5
--------------------------------------------------------------
If you just want to change the objects visibility level there is a
shortcut. Pressing 'L' will let you do this.
If you want to delete and object you can also press 'D' or Alt-D
to delete the selected object. If you press 'D' you will be asked
to verify this decision. Alt-D will not ask for verification.
You can use the Alt-1 to Alt-9 keys to 'collapse' the object tree.
If you have deeply nested objects and just want the basic top
view, you can press Alt-2, for example and only top-level objects
and their first subobjects are shown. Objects that have collapsed
subobjects have a square with an asterisk on them attached.
Use Alt-0 to show all the objects in the object tree.
9.3. Selecting the Parent of an Object
If you have selected an object and wish to select its parent,
press Alt-P. If no parent object exists for the currently selected
object, nothing happens.
9.4. Selecting the Texture of an Object
To select the texture of an object, press Alt-T while the object
that the texture is assigned to is selected. You can now scale,
rotate and move it, just like an normal object. This is handy for
placing imagemaps.
If the texture is either a wood, a checker or an imagemap then you
can also select it graphically, just like you would an object.
9.5. Selecting the Bounding Box of an Object
You can select the bounding box of the currently selected object
by pressing Alt-B. If the object has no bounding box then nothing
will happen.
You can directly select the bounding box in the object browser
(see above) or graphically in the views of the main menu.
User Manual Page 30 MORAY V1.5
--------------------------------------------------------------
10. Editing an Object
Before you can edit an object, you need to select it. See the
section above on ways to do this.
10.1. The Object Edit Menu
This is a basic menu that all objects share. It offers controls
for changing the texture, the bounding box, the visibility level
and the name of the object. If an object has another editor (true
for bezier patches and sweeps), you can call an extended editor
from this menu. More complex objects will have more buttons added
to it.
10.1.1. Assigning a texture
There is a list button on the left containing all the names of the
currently existing textures of this scene. You can assign one of
these textures to the object by clicking on the required texture.
If you have not yet created the texture for this object, you can
do so by clicking on the NEW button next to the CLR TXTR button.
You can then create one or more textures in the Texture Editor
(see page 38) and can then assign one of them to the object by
clicking on the name of the texture in the listbox.
The name of the currently assigned texture is shown in a label
button. Above this label button is a button with the legend CLR
TXTR. This button can be used to clear the reference to the
texture.
The texture name may have an asterisk ('*') in front of it. This
means that the texture has been inherited from the parent object.
Clicking on the CLR TXTR button in this case will have no effect.
10.1.2. Assigning a bounding box
There is a list button containing all the names of the currently
available (i.e. not assigned) bounding boxes. You can assign one
of these bounding boxes to the object by clicking on the required
bounding box. It will disappear from the list.
User Manual Page 31 MORAY V1.5
--------------------------------------------------------------
You can also let MORAY create a bounding box for you. Do this by
clicking on the NEW button next to the CLR BOUND button. MORAY
will examine the object (together with possible subobjects) and
create a bounding box that closely bounds it (them). Note that all
CSG objects will be treated as a union. The bounds that MORAY
creates will always enclose all sub-objects, even if the CSG is a
difference.
The name of the currently assigned bounding box is shown in a
label button. Above this label button is a button with the legend
CLR BOUND. This button can be used to clear the reference to the
bounding box. The bounding box will then be placed in the bounding
box list.
The bounding box may have an asterisk ('*') in front of it. This
means that the bounding box has been inherited from the parent
object.
10.1.3. Changing the visibility
There are four buttons concerned with the visibility level of an
object. There is a 'R' button, a '+' button, a display button, a
'-' button and another display button.
The 'R' button specifies whether the visibility of the object is
relative or absolute. If the button is depressed then the level is
relative to the parents level.
The first display button shows the current visibility level that
is assigned to this object. If it is prefixed by a plus sign, then
the visibility level is relative to the parent object.
The second display button shows the visibility level that results
from this objects level and that of the parent, according to the
settings of the 'R' button.
If it is prefixed by an asterisk, then the visibility level is
inherited from the parent object.
Pressing the '+' or '-' buttons increases or decreases the
visibility level. If you decrease the visibility level to 0, the
object will inherit the visibility from its parent, no matter how
the 'R' button is set.
10.1.4. Setting 'no_shadow'
By clicking on the no_shadow button you can specify that the
object should not cast a shadow.
User Manual Page 32 MORAY V1.5
--------------------------------------------------------------
10.1.5. Changing the name
The name of the object is displayed in a label button. Pressing
the NAME button will pop up an editing window, allowing you to
enter the new name.
10.1.6. Calling the extended editor
If an object has an extended editor the EXTENDED EDIT button will
be available. Press this button to enter the extended editor. See
page 53 for the extended editors.
10.1.7. Leaving the Object edit menu
To leave this object editing menu either press the DONE button or
click the right mouse button.
10.2. The Torus Edit menu
The torus menu offers two buttons more than the normal object
menu. These are used to set the outer and inner radii of the
torus. Clicking on one of the buttons will pop up an editing
window, allowing you to specify the new radius.
10.3. The Heightfield Edit menu
The heightfield menu offers a button to specify the filename of
the heightfield and the water level.
Although you can enter any file name, MORAY will only work
correctly on GIF, TGA and POT files. If you specify another file
name, you will need to edit the POV scene file. Clicking on the
buttons will pop up an editing window, allowing you to specify the
file name.
To change the water level, you can use the slider or click on the
number to set it to the value you wish. The value goes from 0 to
255.
10.4. The Light Edit menu
The editing menu for lights is similar to the normal object
editing menu, except that the texture and bounding box lists are
inactive.
Additionally it contains sliders for specifying the colour and/or
brightness of the light.
User Manual Page 33 MORAY V1.5
--------------------------------------------------------------
The top three sliders are R, G and B components respectively. If
you want coloured lights, use these sliders to set the light
colour.
The fourth slider is set by MORAY to the gray equivalent of the
colours. If you manipulate the fourth slider you are specifying
white light and the slider sets the brightness of the light. All
sliders will then be set to the same value.
10.5. The Spotlight Edit menu
The editing menu for spotlights is similar to the normal light
editing menu, except that the parameters for the spotlight can be
set.
There are three sliders that define the spotlight, two of which
are relevant for POV and one only for MORAY.
The first slider, labelled 'FALL.' defines the falloff of the POV
spotlight in degrees. This is the outer edge of the 'cone' that
defines the spotlight. No light will fall outside this cone.
The second slider, labelled 'RAD.' defines the radius of the POV
spotlight. This is the inner edge of the spotlight, inside which
the light arrives in full brightness.
The third slider is used as a scaling factor to make the wireframe
display of the cone longer or shorter. This is so that you can set
the spotlight cone length so that it ends at your point of
interest. This allows you to judge how big to make the cone.
10.6. The Arealight Edit menu
The editing menu for arealights is similar to the normal light
editing menu, except that the parameters for the arealight can be
set.
You can change the subdivisions of the are light, by setting the
PSEUDO-LIGHT variables. If you want to make a long string of
lights, set the X component to 1. Setting the PSEUDO-LIGHT values
does not affect the geometric size of the arealight. You can use
the normal object transformations to scale, rotate and move the
light. The settings specify how many subdivisions there are in the
arealight.
The slider labelled 'ADAPTIVE' can be used to set the adaptive
parameter of the arealight. It determines how many times at least
to subdivide the light dimensions when doing shadow test. Please
see the POV documentation for a more detailed explanation.
User Manual Page 34 MORAY V1.5
--------------------------------------------------------------
The JITTER button can be used to tell POV to jitter the shadow
rays. This reduces banding in the shadow of an area light. If the
button is depressed then jittering is enabled.
10.7. The Group Edit Menu
When you edit a group object the basic editing menu described
above will be expanded by controls to add and remove sub-objects
and a list of the current sub-objects.
10.7.1. Adding a sub-object
To add a sub-object click on the ADD OBJECT button. You will be
placed in the Object Browser where you can select the object to
add to the group. When you confirm the choice by clicking the
right mouse button (or pressing ESC) the object will be removed
either from the global object list or from the object it was a
sub-object of. It will now appear in the object list of the
current object.
10.7.2. Removing a sub-object
To remove one of the sub-objects click on this object in the list.
The UNGROUP button will be activated. Pressing on this button will
cause the object to be ungrouped and it will re-appear in the
global object list.
10.8. The CSG Edit Menu
When you edit a CSG object the basic editing menu described above
will be expanded by controls to add and remove sub-objects, to
show a list of the current sub-objects, to change the order of the
sub-objects and to specify the operation.
The first object listed in the sub-object list is the base object.
If the CSG is a difference this will be the base object from which
all subsequent objects will be removed.
10.8.1. Adding a sub-object
To add a sub-object click on the ADD OBJECT button. You will be
placed in the Object Browser where you can select the object to
add to the CSG. When you confirm the choice by clicking the right
mouse button (or pressing ESC) the object will be removed either
from the global object list or from the object it was a sub-object
of. It will now appear in the object list of the current object.
User Manual Page 35 MORAY V1.5
--------------------------------------------------------------
10.8.2. Removing a sub-object
To remove one of the sub-objects click on this object in the list.
The UNGROUP button will be activated. Pressing this button will
cause the object to be ungrouped and it will re-appear in the
global object list.
10.8.3. Changing the CSG operation
Press the OPER button until correct CSG operation is shown.
Choices are DIFFRNC, INTERSCT, UNION and MERGE.
DIFFRNC makes an object that consists of the first subobject in
the list minus all the rest, i.e. all subobjects except the first
are cut away from the first subobject.
INTERSCT makes an object that consists of all the space that all
the subobjects share.
UNION makes an object that consists of all the subobjects.
MERGE makes an object that consists of all the subobjects, but
without any internal surfaces (useful for glass objects).
10.8.4. Changing the sub-object order
Press the CYCLE button to cycle the subobjects. The first object
becomes the last object in the list and the second object becomes
the first object. This allows an object that was not added to the
CSG object as the first object to be made the main (base) object.
User Manual Page 36 MORAY V1.5
--------------------------------------------------------------
11. Copying objects
MORAY allows you to make single or multiple copies of the selected
object. If you click on COPY or press Alt-C from the main menu, a
sub-menu will open where the main menu was.
By default, the menu is setup for making a single, exact copy of
the object. If that's all you want to do, just click on OK.
There are transformation buttons, just like in the main menu,
which enable you to transform each object as it is created. For
example, if you make multiple copies of a cube and set the X-
Translation to 2, each new cube will be offset by 2 units from the
last created cube along the X-axis, forming a line of cubes.
There are two modes that you can specify for scaling and rotation.
There are also two translation modes but the second is a bit
different. Change modes by clicking on the SCALING, ROTATION or
TRANSLATE buttons. The button text will change from OFFSET to
FACTOR (or ORBIT for the TRANSLATE button) or vice versa.
OFFSET means that for the new copy the values that you entered are
simply added to the values that the previous copy had. For
example, if you've set X-translate to 2, all subsequent copies
will be two units away from each other on the X-axis.
FACTOR means that the values of the object are *multiplied* by the
values that you entered. For example if you've set X-translate to
2, and the first cube has a X-translation of 1, the first copy
will be at an X-translation of 2, the next at 4, the next at 8,
then at 16, at 32 and so on.
ORBIT will be explained in the next section.
The ATTACH TO SAME OBJECT button specifies whether to attach the
new copies, that will be created, to the same parent object as the
original object is attached to. This button is only active if the
object you are copying has a parent object.
The REPEAT COUNT button specifies how many copies to create. Click
on the button to enter a repeat count.
Once all the settings have been set to your satisfaction, click on
the OK button for the objects to be created.
If you change your mind, press CANCEL.
User Manual Page 37 MORAY V1.5
--------------------------------------------------------------
11.1. Orbiting copies
The ORBIT modifier for the TRANSLATE button allows you to place
objects in a circle. Since MORAY always does rotation before
translation, rotation will always make an object turn about its
own axis, never about a point. You need to set the translation
values to the actual co-ordinates that result.
This copy function will do this for you, by calculating the co-
ordinates where the copies need to go in order to simulate a
rotation about the origin.
Place the object at a point on the orbit. The object is always
rotated about the origin. Let's say you want to place 12 cubes in
a circle with a radius of 10 about the X-axis. Then set the X-
translation of your original to 10. Call the copy function and set
TRANS ORBIT mode. Then set the Z-component of the TRANS ORBIT
block to 30 (since 360 divided by 12 is 30 degrees). Each
successive copy will be placed as if it was rotated about the
origin by 30 degrees. Since this function actually sets the
translation values of the object, the cubes won't face towards the
inside of the circle. To do this, you also need to set the Z-
component of the rotation block to 30 degrees. Then each copy will
also rotate about its own axis by 30 degrees. Then set the repeat
count to 11 (since we already have one in place) and press OK.
User Manual Page 38 MORAY V1.5
--------------------------------------------------------------
12. Texture Editing
You can edit some of the parameters of textures that you create in
MORAY.
There are two ways to edit the texture. Either you need to select
it and the click on EDIT or press Alt-E, or you can click on
TEXTURES and then select it from the list box.
Since an imagemap texture has more parameters that you can change,
it has its own additional editing menu. See page 41 for imagemap
editing.
Pressing TEXTURES from the main menu brings you to the Texture
Editor. On the left is a list showing all the texture names that
you have created in this scene. Clicking on a texture will set all
the buttons to the texture settings of that texture. You can then
click on the parameters and enter new values. There are also four
sliders with which you can set the pigment (colour and filter) of
the texture.
The GET button allows you to get colours from the MRYTXTR.LST
file, which contains all the colours of the standard COLORS.INC
file.
The NAME button allows you to change the name of the texture.
12.1. Texture Exporting
When you first export your scene, MORAY creates a .POV and a .INC
file. The .INC file will contain your textures and the .POV file
will contain your objects, and will include the .INC file. MORAY
also outputs 'markers' into the .INC file (as comments).
When you subsequently export the scene again, MORAY will check for
the .INC file and if it is found will scan it for the 'markers'
that tell it the names of textures that have already been exported
to the .INC file. These textures will then not be exported again,
because you may have changed them in the .INC file. New textures
that you have added since last exporting will be appended to the
.INC file.
If you delete the .INC file before exporting, MORAY will export
all the textures with their current settings.
User Manual Page 39 MORAY V1.5
--------------------------------------------------------------
There is something special about the pre-defined textures. You'll
notice that when you edit a pre-defined texture all the buttons
show 'NOCHNG' (No Change). If you then edit, say, the diffuse
component, this component will show the value that you entered.
When exporting an object that has this texture attached to it,
MORAY will modify the texture statement of that object in the POV
file.
12.2. Creating a texture
To create a new texture press CREATE. You will be presented with a
list of predefined textures and a few other buttons with other
kinds of textures to create.
12.2.1. Predefined textures
These are textures that come with POV-Ray in the TEXTURES.INC
file. The texture names in this file have been put in the
MRYTXTR.LST file under the [TEXTURES] section. You can add your
own textures to this file if you wish, but must make sure that you
either add the definition of this texture to your own include file
and include this file with your scene, or you must add your
texture definition to TEXTURES.INC, although this is not
recommended. This is because if you wish to share your POV file
with someone, they won't have the texture definition in their
TEXTURES.INC file.
12.2.2. Opaque textures
This is a normal texture, without gradients or maps, etc. Just a
colour and the lighting parameters.
All the parameters can be set and adjusted in the editor. Note
that once the file has been exported, making changes will not be
exported to the .INC file, unless you delete the .INC file. See
Texture Exporting above for an explanation.
12.2.3. Checker textures
This is also a normal texture. Just two colours and the lighting
parameters. The second colour can't be set from within MORAY, it
is always white.
The wireframe display consists of six lines, three vertical and
three horizontal. The spacing between these lines represents one
unit, i.e. the squares created by the lines define one checker.
User Manual Page 40 MORAY V1.5
--------------------------------------------------------------
All the parameters can be set and adjusted in the editor. Note,
that once the file has been exported, making changes will not be
exported to the .INC file, unless you delete the .INC file. See
Texture Exporting above for an explanation.
12.2.4. Wood textures
This texture adds the wood and turbulence keywords as well as a
simple colour map. This texture is also displayed in the wireframe
views when assigned to an object to help you see how the rings are
placed and where the major axis runs. You can also scale, rotate
and translate the texture to find the correct orientation for your
wood.
The wireframe display consists of a cylinder running along the
major axis and approximately describe the first ring
circumference.
All the parameters can be set and adjusted in the editor. Note,
that once the file has been exported, making changes will not be
exported to the .INC file, unless you delete the .INC file. See
Texture Exporting above for an explanation.
12.2.5. ImageMap textures
This texture is also displayed in the wireframe views when
assigned to an object to help you see how the image will be
mapped. You can also scale, rotate and translate the texture to
find the correct orientation for the imagemap.
MORAY supports three projection types: planar, spherical and
cylindrical.
For the planar imagemap, the wireframe display consists of a
square with arrows on the axis, describing the orientation of the
image. The origin of the two arrows represents the lower left
corner of the image file. The closed arrow runs along the X-axis
(horizontal) of the image, while the open arrow runs along the Y-
axis (vertical) of the image.
For the spherical imagemap, the wireframe display consists of a
circle around the equator of the sphere and a line along the seam
from one pole to the other. The closed arrow runs along the X-axis
(horizontal) of the image, while the open arrow runs along the Y-
axis (vertical) of the image.
For the cylindrical imagemap, the wireframe display consists of a
circle around the bottom of the cylinder and a line along the seam
from the bottom to the top of the cylinder. The closed arrow runs
along the X-axis (horizontal) of the image (around the cylinder),
while the open arrow runs along the Y-axis (vertical) of the
image.
User Manual Page 41 MORAY V1.5
--------------------------------------------------------------
All the lighting parameters can be set and adjusted in the editor.
Changing the colour will not have an effect, since the colour
comes from the image file.
Note, that if the scene has been exported before, these changes
will not be reflected in the .INC file, unless you delete the .INC
file. See Texture Exporting above for an explanation.
The Imagemap texture also has it's own editor, next to the editing
facilities in the texture editor. Here you can set the filename,
tiling and smoothing of the imagemap texture.
To get to this editor, press Alt-E or click on EDIT from the main
menu, while this texture is selected. You will then see a new
editing menu.
From this editing menu, click on FILENAME to specify the filename
to use for the texture map. You need to specify the extension,
too, since MORAY extracts the extension when exporting to POV to
specify the image file type.
Click on the ONCE/TILED button to toggle between the two. The
displayed status is the status that will be exported. If the
button says ONCE the texture will only be mapped once onto this
body.
Click on the ROUGH/SMOOTH button to switch on (or off) the
interpolation parameter. The displayed status is the one that is
used.
12.3. Deleting a texture
You can only remove unused textures, i.e. textures that are not
being used by objects. To delete textures that are not being used
in the scene, click on the DEL UNUSD button.
12.4. Copying a texture
You can use the COPY button in the Texture Editing menu to make a
copy of the currently selected texture. You will be prompted for a
new name and the texture will then be created, if it doesn't exist
already.
12.5. Replacing a texture
You may change your mind about what type of texture to assign to
an object, or you may work with dummy textures until the geometry
(i.e. scene layout) is finished and then wish to set the textures
to their correct setting.
User Manual Page 42 MORAY V1.5
--------------------------------------------------------------
This function can be used to accomplish this. You select the
texture in the list on the left of the menu that you want to
replace and then click on REPLACE. You then need to create the
texture (see above). If you've defined it somewhere already then
create a pre-defined one with the correct name. When done, MORAY
will replace all references to the first texture by references to
the newly created one.
12.6. Texture display
The imagemap textures are displayed in the wire frame display to
aid you in placing (scaling, moving, rotating) it relative to your
object. They have arrows on the two axis that represent the image
to assist you in seeing exactly how the image file will be mapped
onto the object.
The wood texture is also displayed in the wire frame display to
help you place it correctly. It is displayed as a cylinder around
center of the wood. Use this as a reference when scaling the
texture.
User Manual Page 43 MORAY V1.5
--------------------------------------------------------------
13. The main screen
The main screen is divided into four views. To the right and below
these views are menu areas. On the main screen the area to the
right contains the Main menu and the area below the views is
empty.
Most of the menu buttons have underlined letters. These letters
are the corresponding hotkeys of these buttons.
13.1. The three 2D Views
The 2D views represent views from above, from the side and from
the front. Each view can be separately panned and zoomed and can
have a labelled grid to aid you in placing objects.
13.1.1. Disabling a view
You can disable a view by moving the cursor over it and pressing
the '-' key. The view will be cleared and will not be refreshed
when you change the scene.
13.1.2. Enabling a View
You can enable a disabled view by moving the cursor over it and
pressing the '+' key. The view will from then on be updated when
you change the scene.
13.1.3. Enlarging a View
You can enlarge a view by placing your cursor over the view in
question and pressing either the middle button, if you have a
three-button mouse, or both left and right buttons if you have a
two-button mouse. The view will be enlarged to cover the area
previously covered by the three views. If you are using a two-
button mouse it is a good idea to make sure the right button is
pressed slightly ahead of the left button.
Pressing the same button(s) again will make the view revert to its
original size.
13.1.4. Toggling the Grid in a View
You can turn the grid in a view on and off by moving the cursor
into the specific view in question and pressing Alt-G. This will
turn the grid off if it was on and on if it was off.
User Manual Page 44 MORAY V1.5
--------------------------------------------------------------
13.1.5. Panning a View
Each view can be separately panned to bring certain areas of a
scene into view. To do this, move the cursor into the view you
want to pan. Press and hold the CTRL-key. Now press and hold the
left mouse button and drag the scene. The scene will follow the
mouse. When done release everything.
13.1.6. Zooming a View
To zoom into or out of a view, move the cursor to the view in
question. Now press and hold the ALT-key. Press and hold the left
mouse button and move the mouse up (away from you), to zoom out of
the view or move it down (towards you) to zoom into the view.
To zoom the view in such a way that all objects will be visible in
the view, press Alt-Z.
You can also define a rectangle in the view that defines an area
of interest that you want to zoom into. Do this by additionally
pressing and holding the Shift key. In other words, press and hold
ALT and Shift and the left mouse button. Then drag open a
rectangle about the area of interest and let go of all the
buttons. This rectangle will be zoomed into the view.
13.2. The 3D View
The 3D view is the view that the selected camera sees and the view
that the raytracer will create. If this window is blank, you
either don't have a camera defined, or it's pointing away from any
objects in the scene, or you're out of memory.
This view can also be enlarged and disabled (see above).
13.2.1. The Rendering Window
You can set the rendering window for POV in this view, too. This
is an area of the view that POV will trace. MORAY will create a
GO.BAT file with the correct commandline parameters for POV,
reflecting the window you have defined.
You define this window by opening a rectangle in this view (no Alt
or Crtl or Shift) about the area you want rendered. MORAY will
create a GO.BAT file in your POV scene directory (i.e. where the
POV file is also written to), that has the correct commandline
switches.
User Manual Page 45 MORAY V1.5
--------------------------------------------------------------
13.3. Interacting with Objects
You interact graphically with the selected object in the views on
the screen. All interaction is done by moving the cursor over the
view where you want to interact with the object, depressing the
left mouse button and moving the mouse until the object has been
manipulated to your satisfaction and then releasing the mouse
button.
What happens to the object when you do this is determined by the
currently set interaction mode.
There are three basic interaction modes: scaling, rotating and
moving. Scaling is divided into uniform and non-uniform scaling.
13.3.1. Setting the interaction mode
The interaction mode is set by either clicking on the mode you
need on the main menu, or by pressing the corresponding key on the
keyboard. You cannot change interaction modes while having the
mouse button depressed.
To set:
- non-uniform scaling mode, press 'S' or click on SCL.
- uniform scaling mode, press 'U' or click on USCL.
- rotation mode, press 'R' or click on ROTATE.
- translation mode, press 'T' or click on TRANS.
13.3.2. Using Scaling mode
To scale objects, you need to move the mouse into the view that
displays the objects in the dimensions you want to scale. If you
have uniform scaling mode set, this doesn't matter, since all
dimensions of the object are scaled equally. Now press the left
mouse button and drag the mouse to the upper right. The object
will follow the mouse movement. When you've scaled enough, release
the button.
13.3.3. Using Rotation mode
To rotate an object move the mouse into the view where the axis of
rotation would come out of the monitor. Move the mouse to a point
away from the objects origin, press and hold the left mouse button
and drag the mouse around the objects origin. It will rotate about
its origin, following your mouse.
User Manual Page 46 MORAY V1.5
--------------------------------------------------------------
13.3.4. Using Translation mode
To move an object move the mouse into the view representing the
plane in which to move the object, i.e. the dimension that should
remain the same should be the one that would stick out of the
screen.
13.4. Limiting interaction dimensions
You can lock the translation and scaling of objects to certain
dimensions. This helps you if you want to move an object in one
direction only, for example. Say you have a cube at the correct
height (Z), but need to move it to the left (X+). You go to the XZ
view and press the 'Z' key. This 'locks' the Z-coordinate of the
object. Then use the mouse to move the cube. It will only slide
along the X-axis, the Z-position will stay fixed.
To see whether a dimension is locked, look at the cursor position
display in the lower right corner. The buttons of those dimensions
that are locked are depressed.
The 'X', 'Y' and 'Z' keys act as toggles on their respective
dimensions.
13.5. Interaction strangeness
When you select an object and attempt to scale, rotate or move it,
it may not follow your mouse. This happens when the object is part
of a hierarchy of objects that have also been rotated or scaled.
For example consider the following set-up: you have a group
containing two non-transformed cubes. Now you rotate the group by
90 degrees around the Z-axis. If you now select one of the cubes
and attempt to move it along the X-axis, it will move along the Y-
axis! This is because the transformation of the cube (translation
in X) is appended to the group transformation (rotation about Z).
So the cubes X translation gets rotated to a (in the absolute
world) Y translation.
So when designing scenes, start from the bottom up and only group
objects once all subobjects have the correct relative position to
one another.
13.6. The Main Menu
The main menu is the menu that you see when the program has
started up. It has two main regions. The top half or so contains
information about the current object. Specifically it displays the
name of the object and its transformations.
User Manual Page 47 MORAY V1.5
--------------------------------------------------------------
13.6.1. The Transformation blocks
The very first button contains the name of the object. The second
one shows what type of object is selected. Then follow three
blocks of transformation information, as well as the current
transformation mode indicators (more on that later).
The first block of three buttons contain the scaling that is being
applied to the object in X, Y, Z order.
The second block contains the rotation in degrees that is being
applied to the object in X, Y, Z order.
The third block contains the translation that is being applied to
the object.
Beneath this last block is a UNDO XFRM button. This allows you to
undo the very last object transformation that you did. When you
select a new object, this information is lost.
13.6.2. The menu items
Following the transformation block are a couple of menu items that
allow you to access certain functions of the program.
13.6.2.1. The CREATE button
This button brings you to a menu where you can create new objects,
cameras or textures.
Hotkey : Alt-N
The SELECT button
This button can be used if you want to select an object by name
instead of graphically (see later).
Hotkey : Alt-S
13.6.2.2. The EDIT button
This button can be used to edit the currently selected object. If
no object is selected you will be placed in the Object Browser to
select one. If you do select one you will then be placed in this
objects editing menu.
Hotkey: Alt-E
User Manual Page 48 MORAY V1.5
--------------------------------------------------------------
13.6.2.3. The COPY button
This button makes one or more copies of the currently selected
object. If no object is selected you will be placed in the Object
Browser in order to select one.
You will then be presented with another menu, where you specify a
few things about the new object(s). This menu is explained in more
detail later.
Hotkey : Alt-C
13.6.2.4. The CAMERAS button
This brings you to the camera list editor. Here you can create,
delete or rename cameras.
13.6.2.5. The TEXTURES button
This button brings you to the texture editor where you can create,
edit, replace or delete textures.
13.6.2.6. The FILES button
This button brings you the files submenu. Here you can load, save,
merge and export scenes.
Hotkey : Alt-F
13.6.2.7. The OPTIONS button
This button brings up the options menu, where you can set various
parameters for MORAY to use.
Hotkey : Alt-O
13.6.2.8. The QUIT button
This button will exit the program. If you have changed the scene
and have not saved it, you will be asked to confirm this action.
Hotkey : Alt-X
13.6.3. The information block
Below the main menu are six buttons that give you information
about the current state of MORAY.
User Manual Page 49 MORAY V1.5
--------------------------------------------------------------
The first three show the X, Y and Z position of the cursor when in
one of the 2D views. They also indicate when a coordinate is
locked (see page 46).
The fourth button shows the amount of available conventional
memory and the amount of available EMS in the shareware program.
In the registered version it shows the total amount of memory
available.
The fifth button shows the number of points currently being
calculated for every refresh and the percentage of the point list
used.
The sixth button shows the number of edges currently being drawn
during a refresh and the percentage of the edge list used.
When the percentages in either of these buttons gets close to
100%, you should increase the memory available for the edge and
vector list. This is done by changing the values in the
'MemoryUse' variable in the MORAYPOV.CFG file (see Configuration,
page 10)
User Manual Page 50 MORAY V1.5
--------------------------------------------------------------
14. The FILES Menu
The files menu is used to load, save, merge and export files
to/from disk, to start a render (under certain conditions), to
delete the scene in memory and to set some options.
The actions that can be executed use the current filename, which
is shown below the list of available drives. If it is empty, the
action buttons are inactive.
To enter a new filename click on the filename button. An editing
window will pop up where you can enter a filename.
To select a filename already on disk, simply click on the name in
the list button showing the MDL files in the ModelPath (see
Configuration, page 10) directory. It will appear in the filename
button above the list. If your file is in another directory you
can navigate through the directories by clicking on the directory
names, which are surrounded by square brackets.
When you are done, press DONE or the cancel button to leave the
FILES menu.
14.1. LOAD
Once you have selected or entered a name, click on LOAD to load
the MDL file. If there is a scene in memory you will be asked
whether to delete this scene. Answer YES if you want to discard
the scene in memory and load the one on disk. If you press NO,
MORAY will not load the file.
14.2. MERGE
You can add files to your current scene by clicking on MERGE. The
selected filename will be loaded and added to the scene. This can
be used to import objects from a library for example.
User Manual Page 51 MORAY V1.5
--------------------------------------------------------------
14.3. SAVE
If you loaded a file and now want to save it again, you can click
on SAVE directly, since the filename will still be the same
(unless you merged in another file). MORAY will keep the old file,
changing its extension to BAK, and will save the scene to the
original name.
If you want to enter a new name under which to save the scene, do
this *before* clicking on SAVE.
14.4. SAVE SEL
If you want to save an object of a scene only, you can use this
button to do so. The object you wish to save must be selected. You
can use this button to create your own library of objects, which
you can share with others.
You are prompted for a filename.
14.5. OPTIONS
Clicking on this button will open a menu below the views, which
allows you to change a few options.
You can call an ABOUT box, which shows the current version number
and the name of the user to which this program is registered.
You can call the texture checking routine. This searches the scene
for objects that have no textures assigned to them. This object
will be selected and you can the edit it and assign a new texture.
You can enable or disable the grid snap. You can also set the snap
grid size. The default values for this setting can be set in the
CONFIG section of the MORAYPOV.CFG file (see page 13).
You can also set the global visibility level.
The registered mode version also has a REGISTER button available.
You will receive instructions for using this button once you have
registered the program.
14.6. EXPORT
This button is used to actually write the scene in memory to a
.POV and an .INC scene file. MORAY will create the files in the
target directory as specified in the CFG file (see page 11). You
can then leave MORAY and start POV to trace the scene you just
created.
User Manual Page 52 MORAY V1.5
--------------------------------------------------------------
14.7. RENDER
This button is a combination of buttons. It first does a SAVE,
then an EXPORT, and then it quits with an exit code of 16. This
can be used in a batchfile to call POV. See LoopBatchFile on page
11 and automatic rendering on page 14.
14.8. NEW
This button clears the scene in memory. It will ask you to verify
this decision first, though.
User Manual Page 53 MORAY V1.5
--------------------------------------------------------------
15. Extended Editors
Two object types have further editors that change the object
geometry; the Bezier patches and the sweeps.
15.1. The Bezier Patch Editor
This editor allows you to change the control points of your patch
and the graininess of the patch display, i.e. how fine to draw the
patch.
The patch is drawn in the 2D-Views and the 3D-Views, and you
manipulate the points similar to how you would manipulate the
objects in the main screen. The views can be panned and zoomed
just as on the main screen.
The patch is manipulated by moving control points. MORAY allows
you to move a single control point or a selection of control
points. There are a couple of ways to move the control points, you
can move them, you can scale them and you can rotate them.
15.1.1. Mesh density
You can adjust the amount of mesh lines that MORAY will create for
your patch. If you want a detailed view, you would select a high
density, i.e. move the slider to the right. This will slow down
screen redraws and chew up memory. If you're satisfied and don't
need that much detail you could then select a lower setting.
This setting is only relevant for MORAY, since POV-Ray handles the
bezier patches itself.
15.1.2. Redraw Rate
Apart from using the Mesh density setting to decrease the amount
of lines that need to be drawn, you have two more options of
increasing the redraw rate while moving the control points.
The SHOW MESH button can be used to hide or show the mesh while
moving the control points. The mesh redrawing can take quite some
time, so it may be good to hide it while moving the points. Once
you release the mouse button, after dragging the points, the mesh
will be redrawn.
Hotkey : M
User Manual Page 54 MORAY V1.5
--------------------------------------------------------------
The SHOW CTRL button can be used to hide or show the control point
grid while moving control points.
Hotkey : C
15.1.3. Selecting and deselecting control points
To select points move the cursor to a view where the control
points are visible.
Press the Left-Shift-key and then open a rectangle that encloses
the points. Do this by clicking the left mouse button, keeping it
pressed and moving the mouse. When the points are inside the
rectangle release the mouse button. The selected points will now
be marked.
You can see the number of points you have selected in the
corresponding button on the menu.
You can also depress the Left-Shift-key and press and release the
left mouse button. In this case all points near the cursor will be
selected.
To deselect points, do the same as above, but enclose the selected
points.
MORAY tries to guess at what you're attempting to do with respect
to selecting or deselecting.
If you do a select operation on points that are already selected,
MORAY assumes you want to deselect them and does so.
If you do a select operation on points that are all deselected,
MORAY assumes you want to select them.
If you do a select operation where you enclose selected and
deselected points, MORAY can't know what you want to do, so it
looks at the keyboard modifier. If you've pressed Left-Shift,
MORAY assumes you want to select and if you've pressed Right-
Shift, MORAY assumes you want to deselect.
Naturally, you can change views between selection operations. So
if you wanted to select a point in the side view and there are
other points 'behind' this point you'll have selected all these
points. Then to deselect those that are behind the point of
interest, you would go to the top view and deselect the ones that
you're not interested in.
There are three buttons that you can use to change the selection.
You can select all the control points by pressing on MARK ALL.
This is good for moving the whole origin of the patch somewhere
else.
User Manual Page 55 MORAY V1.5
--------------------------------------------------------------
You can deselect all points by clicking on UNMARK ALL. This is
useful, if it would be a bit tedious to deselect the points by
hand.
You can change the state of all the points by clicking on TOGGLE
MARKS. This selects deselected points and deselects selected
points. If you want to select all points but one, you could select
that one and then click on this button.
15.1.4. Changing the control point positions
Once you've selected points to manipulate you have seven
possibilities of moving them. While moving the control points, the
control grid and the actual patch mesh can be made to disappear
(see Redraw Rate, above). Once you are finished moving the points
about, the mesh will reappear.
You can select three basic modes: scaling, rotation and
translation. Scaling and rotation can be made to work locally
(more later) and scaling can be switched to and from uniform
scaling.
15.1.4.1. Translate
Use this mode if you want to just move all the selected points to
a new location. Move them just like you would an object. Press and
hold the left mouse button and move the mouse.
Hotkey : T
15.1.4.2. Scale
Use this mode to move the points in such a way that it would
represent scaling the points relative to the whole patch. When you
move the mouse, after pressing and holding the left mouse button,
the points will be scaled accordingly.
Hotkey: S
15.1.4.3. Local Scale
If you want to scale the points in relation to each other, i.e.
want to get them closer together or further apart, you would use
this mode. MORAY calculates the center of gravity of all selected
points and scales relative to this point.
Hotkey : L (after pressing S)
User Manual Page 56 MORAY V1.5
--------------------------------------------------------------
15.1.4.4. Uniform
If you press the UNIFORM button then scaling will be uniform, i.e.
MORAY will scale the selected points equally in all three
dimensions.
Hotkey : U (toggle)
15.1.4.5. Rotate
If you want to rotate the points about the origin use this mode.
Again, press and hold the left mouse button and move the cursor in
a circular path around the origin.
Hotkey : R
15.1.4.6. Local Rotate
If you want to rotate the points in relation to each other, i.e.
about their center, use this mode. MORAY calculates the center of
gravity of all selected points and rotates the points around this
point, according to the movement of the cursor.
Hotkey : L (after pressing R)
15.1.4.7. Mirroring the patch
You can use the three MIRROR buttons to flip a patch about an
axis. It will flip the whole patch, not only the marked points.
15.1.4.8. Snapping Coordinates
You may want to snap points to certain numbers at times. For
example, you may want a point place *exactly* at X=0. While you
could do so by endlessly zooming into the point and always moving
it to the zero line, this is a bit awkward. The SNAP POINTS button
does just this. It asks you for a number and rounds the
coordinates of all the marked points to a multiple of this number.
If you entered, say 0.1, it would set all the components of the
marked points to a number that's divisible (without rest) by 0.1.
For example if you have marked a points at (4.6605, 9.429) and
snap with 0.1 it will be moved to (4.7,9.4), if you enter 0.05, it
will be moved to (4.65, 9.45).
To limit the snapping to certain components you need only arrest
those coordinates that you don't want snapped. As a reminder the
editor that pops up asking you for a value will say which
components are not arrested and will be snapped.
User Manual Page 57 MORAY V1.5
--------------------------------------------------------------
15.2. The Sweep Editor
The three sweep types (rotational, translational, tapering) all
have the same editor.
Sweeps consists of a number of curved line segments, forming a
closed outline.
For a translational sweep, this outline is swept along a straight
line from Z=0 to Z=1.
For a rotational sweep the outline is rotated about the Z-axis.
For a tapering sweep the outline is swept from Z=1 to Z=0, but is
also shrunk to a point at the same time.
The editing screen can be panned and zoomed like the views on the
main menu, except that Alt-Z and the area selection are not
active.
The editor starts out with four segments, arranged in a square. At
each end of a segment is a point with two handles (a knot). These
handles determine at what angle the curves leave the knot.
To move the handles, move the cursor over a handle, press and hold
the left mouse button and move the handles about. The handles only
rotate about the position of the knot, i.e. where the two curve
segments meet.
Normally the two handles are locked in relation to each other.
To move only one of them, press and hold the Shift key before
pressing the mouse button.
15.2.1. Curve divisions
The divisions slider determines how many times the line segments
are subdivided. For editing, this setting only influences the
display on the screen, but once you leave the editor, it
determines how fine the wire frame will be displayed. This of
course directly influences the amount of memory the object
requires and how fast it can be redrawn.
The divisions setting also determines the number of divisions used
for exporting.
15.2.2. Moving a knot
To move a knot, move the cursor over the knot position, press and
hold the left mouse button and drag the knot around. The attached
curve segments will move along with the knot. When you have placed
the knot correctly, let go of the mouse button.
User Manual Page 58 MORAY V1.5
--------------------------------------------------------------
15.2.3. Smoothing a knot
In order for a sweep to be continuous across a knot, the handles
need to be at the same angle or 180 degrees apart.
To make the handles of a knot form a straight line you can use the
FLATTEN button. Click on it, then move the cursor over the knot in
question and click again. The handles will be set to the same
angle and the sweep will not have a visible edge there.
15.2.4. Adding a knot
To add a knot, click on the INSERT KNOT button. Then move the
cursor onto the curve at the position where you wish to insert the
knot. Click the mouse. A knot will be inserted there, in such a
way as not to create an edge. You can then move or edit this knot.
15.2.5. Deleting a knot
To delete a knot, click on the DELETE KNOT button, move the cursor
over the knot you wish to delete and click the mouse. The knot
will be removed and the knots on either side of the deleted knot
will be joined. You can delete all knots except three, since you
cannot make a useful outline with two segments.
15.2.6. Entering values
You can also directly enter the values for the last selected knot.
Simply click on the corresponding button and enter the new value.
15.2.7. Mirroring a sweep
You can use the two MIRROR buttons to flip a sweep about an axis.
15.2.8. Rotation divisions
When you edit rotational sweeps, you can determine the number of
divisions that should be made when rotating about the axis during
exporting.
15.2.9. Exporting to a RAW file
You can export sweeps to a file in raw format. This will allow you
to create sweeps that you can use with other programs that can
read raw files. Raw files are normal ASCII text-files that contain
data that define triangles. There are nine numbers per line, three
sets of XYZ coordinates.
User Manual Page 59 MORAY V1.5
--------------------------------------------------------------
There is a program called RAW2POV.EXE by Steve Anger that creates
POV files from Raw files, that are tightly bounded and may speed
up rendering. RAW2POV.EXE can be found on CompuServe (GO GRAPHDEV,
LIB 8) or on most BBS that have POV.
User Manual Page 60 MORAY V1.5
--------------------------------------------------------------
16. Appendix A: Hotkeys
Most menus in MORAY have buttons with a letter that is underlined.
Pressing this letter while the menu is active is the same as
clicking on the button, i.e. they are all hotkeys.
Apart from these normal menu keys there are also other special
keys in some of the menus.
16.1. Main menu
Alt-n where n is 1 to 9 sets the global visibility level to n.
Alt-0 Sets the global visibility level to 10.
Alt-B Selects the bounding box of the currently selected
object.
Alt-C Calls the Object Duplicator to make copies of the
currently selected object.
Alt-D Deletes the currently selected object (doesn't delete
textures and cameras). No questions asked.
Alt-E Edit the currently selected object.
Alt-F Calls the Files Menu.
Alt-G Toggles the grid display in the window the cursor is
over.
Alt-I Toggles the updating of the cursor position display.
Alt-N Calls the Create menu.
Alt-O Calls the Option Menu.
Alt-P Selects the parent object of the currently selected
object.
Alt-R Refreshes the screen.
Alt-S Calls the Object Browser.
Alt-T Selects the texture of the currently selected object.
Alt-U Deselects all objects.
Alt-V Verifies that all the objects in the scene have a texture
attached to them.
Alt-X Quit the program.
Alt-Z Zooms the view under the cursor to enclose all objects.
'-' Disable the view under the cursor.
'+' Enable the view under the cursor.
'D' Deletes the currently selected objects. Asks for
verification first.
'M' Calls the camera edit menu.
'R' Set the transformation mode the rotation.
'S' Set the transformation mode to non-uniform scaling.
'T' Set the transformation mode to translation.
'U' Set the transformation mode to uniform scaling.
'X' Arrests movement in the X-axis.
'Y' Arrests movement in the Y-axis.
'Z' Arrests movement in the Z-axis.
'L' If the selected object is a camera, make the translation
transformations move the lookat point.
User Manual Page 61 MORAY V1.5
--------------------------------------------------------------
'P' If the selected object is a camera, make the translation
transformations move the camera position.
User Manual Page 62 MORAY V1.5
--------------------------------------------------------------
16.2. Object Browser
Alt-1 Collapses the object tree to display only top level
objects.
Alt-n Collapses the object tree to display only the top n
levels of objects.
Alt-0 Shows the complete object tree.
Alt-B Selects the bounding box of the currently selected
object.
Alt-C Calls the object duplicator with the currently selected
object.
Alt-D Deletes the currently selected object (no questions
asked).
'D' Deletes the currently selected object (asks for
verification first).
'L' Allows you to change the visibility level of the object.
Alt-E Edit the currently selected object.
Alt-N Allows you to edit the name of the selected object.
Alt-O Calls the Options menu.
Alt-P Select the parent object of the currently selected
object.
16.3. Bezier Editor
Alt-S Toggle Grid Snap
Alt-O Call the options menu
'C' Toggle the display of the control grid.
'G' Toggle the display of the grids.
'M' Toggle the display of the mesh.
'T' Select translation mode for moving the control points.
'S' Select non-uniform scaling mode for moving the control
points.
'U' Select uniform scaling mode for moving the control
points.
'R' Select rotation mode for moving the control points.
'L' Select local mode if either scaling or rotation mode is
selected.
'N' Deselect the selected points.
'A' Select all points.
'X' Arrests movement in the X-axis.
'Y' Arrests movement in the Y-axis.
'Z' Arrests movement in the Z-axis.
'P' Asks for a number and snaps all non-arrested components
of marked points to a multiple of this number.
'+' Disable the view under the cursor.
'-' Enable the view under the cursor.
User Manual Page 63 MORAY V1.5
--------------------------------------------------------------
17. Appendix B: Tips
- Use the visibility setting of objects to hide fine details when
working with large scenes. This will improve redraw speed.
- Use the relative visibility setting on nested objects. This
allows you to quickly hide large objects when working on the
details of other objects.
- Since CSG objects are not displayed in their final form, you
should make the subobjects of a difference have a visibility
level that's higher than the base object, i.e. the first object
of the CSG difference should have a lower visibility level than
all the other sub-objects. This will avoid the cluttering of the
display by all those shapes that cut away from the base shape.
- Design Group- or CSG-Objects with their origin at the global
origin, then move the group. Don't group objects at their final
location, move the group to the final location. This makes
editing subobjects easier.
- Don't transform Group- or CSG-Objects until all their subobjects
have been correctly placed. This helps you transform subobjects
with the mouse, without getting confused.
- Don't assign textures to subobjects of Group- or CSG-objects,
unless they have a different texture from the rest of the Group
object, since textures are inherited to subobjects. This lets
you easily change the texture of the whole object later, without
having to go to each subobject to change the texture.
- Group objects logically. If you make a body, group the eyes
together. Then group the eyes, nose, mouth and skull together.
Then group the upper body with the head and arms, etc. This lets
you transform the entities better, e.g. turning the bodies head,
involves only the changing of the rotation of the head. Eyes,
mouth and skull will follow.
- Don't make the divisions of sweeps and beziers too high. During
editing, set the divisions as high as you want, but when
finished, set it to an acceptable level, where you can make out
enough detail. This is so that your display doesn't get
cluttered, the redraw speed stays high, and memory is saved.
- If you use the snap to grid function, use it from the very
beginning. This is because only the cursor is snapped, not the
objects themselves. So if an object has an X translation of 0.05
and you set the X-Snap to 0.5, moving the object will change the
X translation by 0.5 (in this example to 0.55).
User Manual Page 64 MORAY V1.5
--------------------------------------------------------------
- Use the '-' key to disable views if you only need one view to
edit in. This will improve the redraw rate. When done use the
'+' key to redraw the disabled views.
- If your bezier patches are coming out with holes or have other
irregularities, you may have to increase the u_steps and v_steps
or decrease the flatness of the patches (in the objects Editing
Menu).
- Bound your CSG Differences. Although POV 2.0 has bounding slabs,
they are not active for differences.
- If you are creating an object that is to use hierarchical
linkage, you should proceed from the outside in and create and
place the objects in such a way that the axis of rotation is
along one of the main axis at the origin.
You may want to look at the sample file ROBOT.MDL for an
example.
User Manual Page 65 MORAY V1.5
--------------------------------------------------------------
18. Appendix C: Frequently Asked Questions
Q: Not all my disk drives are being displayed in the FILES menu.
A: MORAY limits the amount of available drives to 8, so you need
to install MORAY on one of your first eight drives.
Q: Why can't I see the imagemap texture I created?
A: You need to assign it to an object first. Then it will become
visible. There's no point in displaying it if it hasn't been
assigned to an object.
Q: When I export the imagemap, Moray outputs the string 'ugh' in
the output file, which POV doesn't swallow.
A: This happens when you haven't set the filename of the imagemap
in its editing menu. Moray looks at the filename and tries to
figure out whether it's a GIF, a TGA or a POT file. If it's
none of those it outputs 'ugh'.
Q: How do I set the name of image file/smoothness/interpolation
of an imagemap texture?
A: You can set these from the imagemaps editing menu. To get
there you need to select the imagemap texture. This can only
be done once the imagemap is assigned to an object. Select
this object then press Alt-T to select it's texture. Now press
Alt-E to call the imagemaps editor where you'll find the
correct buttons.
Q: I can't see my heightfield, althoug the wireframe shows it's
in the cameras field of view.
A: Did you assign a texture to the heightfield? Heightfields are
objects like all others too and need to have a texture.
Q: I want a heightfield to have the same colors as those that
make up the heightfield in its image file.
A: You need to create an imagemap texture that uses the same
filename as the heightfield and assign this texture to the
heightfield.
Q: How do I create a difference/intersection?
A: Create the objects that make up the difference/intersection.
Then create a CSG object. This will cause the Object Browser
to appear. First select the object that will be the base
object, e.g. the one *from* which you are going to subtract.
Then click the right mouse button. Then proceed with all other
subobjects you want to subtract. When done again click on the
right button without selecting an object.
Q: I've created a CSG object correctly, but POV always displays
it as a union.
A: You have probably forgotten to set the CSG operation in the
CSG Object editor.
User Manual Page 66 MORAY V1.5
--------------------------------------------------------------
Q: MORAY crashes after a while and writes the following line to
the MORAY.ERR file:
[INTEGRITY CHECK FAILED.. ABORTING]
A: - This may be caused by the use of a compressed drive like
Stacker or DblSpace. Try installing MORAY on an uncompressed
drive.
- This may also be caused by tampering with the EXE. You will
need to re-extract MORAY.EXE from the ZIP and try again.
Q: The display in the 3D window is not shown although I have
defined a camera.
A: You may be out of memory. Check the amount of free memory in
the lower right corner of the screen. If the second number is
0, you are running without EMS and MORAY needs to use
conventional memory to store the vertices and edges. In this
case if there is not enough memory, the 3D view is not shown.
You need to make EMS available to the system.
Q: I get holes when rendering Bezier patches. Why?
A: This can be the case if you have a pretty convoluted or
heavily-twisted and deformed patch and can be rectified by
decreasing the flatness and/or increasing the step parameters
in the patches Editing menu.
Q: My bezier patches look very square and blocky. Why?
A: You need to decrease the flatness or increase the steps in the
patches editing menu.
Q: When I press on NEW to assign a texture to an object, then
create one and come back, it still complains that there is no
texture attached.
A: When you click on NEW you are placed in the Texture Editor.
Here you can create any number of textures, you can edit,
delete, etc. textures. When you quit from the Texture Editor,
no texture is passed back to the Object Editor, only the list
is updated. To now actually assign this texture you need to
click on it in the list box.
Q: I cannot change the LookAt of the camera.
A: Since the camera has two 3D points associated with it
(location and lookat), you need to tell MORAY which point you
want to move. Press 'L' to move the LookAt point and 'P' to
move the Position of the camera.
User Manual Page 67 MORAY V1.5
--------------------------------------------------------------
19. Appendix D: Definition of Shareware
Shareware distribution gives users a chance to try software before
buying it. If you try a Shareware program and continue using it,
you are expected to register.
Copyright laws apply to both Shareware and commercial software,
and the copyright holder retains all rights, with a few specific
exceptions as stated below. Shareware authors are accomplished
programmers, just like commercial authors, and the programs are of
comparable quality. (In both cases, there are good programs and
bad ones!) The main difference is in the method of distribution.
The author specifically grants the right to copy and distribute
the software, either to all and sundry or to a specific group. For
example, some authors require written permission before a
commercial disk vendor may copy their Shareware.
Shareware is a distribution method, not a type of software. You
should find software that suits your needs and pocketbook, whether
it's commercial or Shareware. The Shareware system makes fitting
your needs easier, because you can try before you buy. And because
the overhead is low, prices are low also. Shareware has the
ultimate money-back guarantee -- if you don't use the product, you
don't pay for it.
User Manual Page 68 MORAY V1.5
--------------------------------------------------------------
G
20. Appendix E: Index Grid
setting snap, 51
toggling, 43
Group Object, 22
adding subobjects, 34
creation, 25
B editing, 34
removing subobjects, 34
Bezier patch
creation, 24
editing, 53
editor hotkeys, 62 H
general, 20
mirroring, 56 Heightfield, 21
snap points, 56 editing, 32
Browser, 28 Hotkeys, 60
hotkeys, 62
I
C
Imagemap
Camera, 22 editing, 41
Checker Installation, 10
display, 39 Interaction
Cone, 19 general, 18
Configuration, 10
CSG Object, 21
changing order, 35
creation, 25 L
editing, 34
operation, 35 Light source, 21
removing subobjects, 35 editing, 32; 33
Cube, 18
Cylinder, 19
M
E Main menu, 46
hotkeys, 60
EMS MDL
free display, 49 directory, 10
page caching, 12 startup scene, 11
warning, 12
O
F
Object
Files assign a bounding box, 30
exporting, 22; 51 assign a texture, 30
general, 50 bounding box, 16
loading, 50 browser, 28
merging, 50 creation, 24
saving, 51 deleting all, 52
editing, 30
general, 16
User Manual Page 69 MORAY V1.5
--------------------------------------------------------------
interaction, 45 deleting, 41
name, 32 display, 42
no_shadow flag, 31 editing, 38
primitives, 18 exporting, 22
selection, 28 imagemap, 27
texture, 17 imagemap display, 40
transformations, 16 opaque, 26; 39
visibility, 17; 31 pre-defined, 26
Options, 51 pre-defined list, 11
replacing, 41
wood, 27; 40
Torus, 19; 32
P editing, 32
Transformations
POV limiting, 46
calling, 52 mode, 45
creating file, 51 undo last, 47
overwriting files, 12
U
R
Undo, 47
RAW
exporting to, 58
RAW2POV.EXE, 59
Registering V
instructions, 2
View
disabling, 43
enabling, 43
S enlarging, 43
grid display, 43
Scene panning, 44
starting a new, 52 zooming, 44
Selecting visibility, 31
objects, 28 changing an objects, 31
the bounding box, 29 general, 17
the parent, 29 relative, 31
the texture, 29 setting global, 60
via Browser, 28
Sphere, 19
Sweep
editing, 57 W
export to RAW, 58
mirroring, 58 Wood
rotational, 19 display, 40; 42
rotational divisions, 58
tapering, 20
translational, 19
T
Texture
checker, 26; 39
copying, 41
creation, 26